#pragma once

#ifndef OMEGAMODEL_H
#define OMEGAMODEL_H

//#include"Utilities.h"
#include "OmegaMesh.h"

class OmegaModel
{
public:
	// These meshes are part of this model.
	// Unknown how many to begin with.
	OmegaMesh* meshes;
	// Textures for each model.
	GLuint * textures;
	GLuint * normalMaps;
	GLuint * specMaps;
	GLuint * nightmap;
	int numberOfMeshes;
	bool animated;
	char* memblock;

	GLuint s;


public:
	OmegaModel();
	OmegaModel(char* fname, GLuint(*f)(char*));
	void display(AlphaMatrix* mvm,AlphaMatrix* proj,float* lightPos, GLuint s);
	void update();
	void loadModel(char* fname, GLuint(*f)(char*));
	void setTexture(GLuint iTex, int mesh);
	void setNormalMap(GLuint iNM,int mesh);
	void setSpecMap(GLuint iSM, int mesh);
	void setNightMap(GLuint iNM,int mesh);
	
	GLuint getTexture(int mesh);
	~OmegaModel();
};
#endif
